# Contributor: Mathias LANG <pro.mathias.lang@gmail.com>
# Maintainer: Mathias LANG <pro.mathias.lang@gmail.com>
#
# There are 4 'public' tools in the repository as of v2.090.1
# In addition, there are a few 'build' tools which could be
# useful (and can be trivially added if needed).
#
# Out of those 4 public tools, only 'dman' has heavy dependencies,
# as it rely on building dlang.org (and by extension DMD & co),
# so it is excluded from this package.
pkgname=dtools
pkgver=2.091.1
pkgrel=0
pkgdesc="Ancillary tools for the D programming language compiler"
url="https://github.com/dlang/tools"
arch="x86_64 aarch64"
license="BSL-1.0"
makedepends="ldc"
subpackages="$pkgname-ddemangle $pkgname-rdmd $pkgname-dustmite"
source="tools-$pkgver.tar.gz::https://github.com/dlang/tools/archive/v$pkgver.tar.gz"
builddir="$srcdir/tools-$pkgver/"
_outputdir="$builddir/alpine-build/"

build() {
	ldmd2 -O -release "$builddir/ddemangle.d" -of"$_outputdir/ddemangle"
	ldmd2 -O -release "$builddir/DustMite/dustmite.d" "$builddir/DustMite/splitter.d" -of"$_outputdir/dustmite"
	ldmd2 -O -release "$builddir/rdmd.d" -of"$_outputdir/rdmd"
}

check() {
	ldmd2 -run "$builddir/rdmd_test.d" --rdmd-default-compiler=ldmd2 "$_outputdir/rdmd"
}

package() {
	depends="$pkgname-ddemangle $pkgname-dustmite $pkgname-rdmd"

	install -s -D "$_outputdir/ddemangle" "$pkgdir/usr/bin/ddemangle"
	install -s -D "$_outputdir/dustmite" "$pkgdir/usr/bin/dustmite"
	install -s -D "$_outputdir/rdmd" "$pkgdir/usr/bin/rdmd"
}

ddemangle() {
	mkdir -p "$subpkgdir/usr/bin/"
	mv "$pkgdir/usr/bin/ddemangle" "$subpkgdir/usr/bin/ddemangle"
}

dustmite() {
	mkdir -p "$subpkgdir/usr/bin/"
	mv "$pkgdir/usr/bin/dustmite" "$subpkgdir/usr/bin/dustmite"
}

rdmd() {
	mkdir -p "$subpkgdir/usr/bin/"
	mv "$pkgdir/usr/bin/rdmd" "$subpkgdir/usr/bin/rdmd"
}

sha512sums="b8fb4f4c1e9aed1e2134644152a32a7c6073d801458bf0a45a23e86cd761a19c4b517365112edc7af73fbef3c26b4106fa0ee7478a78fa41c531a060c25e3955  tools-2.091.1.tar.gz"
